package com.kusej.dbdocexport.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author yangkx
 * @Description 每个列数据的字段注解
 * @date 2021/10/18 17:02
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelTable {
    /**
     * 列标题中文名称 导入导出均可使用
     * @return
     */
    String value() default "";

    /**
     * 列宽 (英寸) 导出使用 0~255之间  仅在导出时使用
     * @return
     */
    int width() default 10;

    /**
     * 是否需要设置宽度 模板一般不需要 仅在导出时使用
     * 如果全局不需要{@link ExcelTableHeader#needColumnWidth()} 这里不会生效
     * @return
     */
    boolean needWidth() default true;

    /**
     * 数据类型 0不指定由字段类型自动设置 1字符串 2数字  仅在导出时使用
     * @return
     */
    int type() default 0;

    /**
     * 导出列字段下标 列下标  仅在导出时使用
     * 如果<0那就自动根据反射字段时的顺序排列
     * @return
     */
    int colIndex() default -1;

}
